package com.yangtao.prototype.common.select.service;

import com.yangtao.framework.common.Option;

import java.util.List;
import java.util.Map;

public interface SelectService {
	/**
	 * 获取从查询list
	 *
	 * @param masterId
	 * @param type
	 * @return
	 * @throws Exception
	 */
	List<Option> getSlaveList(String masterId, String type);

	/**
	 * 根据所需要的数据类型和条件，加载不同的数据
	 *
	 * @param type         所需要的数据类型
	 * @param restrictions 约束条件
	 * @return
	 */
	List<Object> getStoreByType(DataStoreType type, Map<String, Object> restrictions);

	/**
	 * 根据用户ID查找用户授权的主数据
	 *
	 * @param userId        用户Id
	 * @param dataStoreType 主数据类型
	 * @param keyWorld      过滤关键字
	 * @return
	 */
	List<Object> getStoreByUser(String userId, DataStoreType dataStoreType, String keyWorld, String matchString);
}
